<!-- 设备维护 -->
<template>
  <div  class="dashboard-editor-container">
    <el-row style="background: #fff; margin: 0px 0px; margin-bottom: 32px" :gutter="50">
      <div class="wrap">
        <!-- <el-col :xs="24" :sm="24" :lg="12" :xl="9">
          <div class="parameType">
            <div class="title">软件升级</div>
            <div class="content">
              <p>请选择正确的升级包上传升级，升级后版本将不可恢复，升级后设备将会自动重启。</p>
              <el-button type="warning" @click="clickfile()">软件升级</el-button>
              <input style="display:none" type="file" ref="upfile" accept=".gz" @change="changefile($event)">
            </div>
          </div>
        </el-col> -->
        <!-- <el-col :xs="24" :sm="24" :lg="12" :xl="9">
        <div class="parameType">
          <div class="title">重启设备</div>
          <div class="content">
            <p>设备重启将导致域名加速功能短时间失效</p>
            <el-button  type="warning" @click="restartTheDevice">重启设备</el-button>
          </div>
        </div>
        </el-col> -->
        <!-- <el-col :xs="24" :sm="24" :lg="24" :xl="24">
        <div class="parameType" style="width:800px">
          <div class="title">下载客户端安装工具</div>
          <div class="content">
            
            <p style="height:140px;">客户端安装工具以常驻系统的模式存在于客户端电脑，更加方便终端用户使用。
              工具提供了行为审计、AI助手、网络加速审计及亚马逊上网助手。如果下载或者运行过程中有杀毒引擎提示异常，请放行或添加到信任。
            <span style="color:red;display:block;">安装包下载成功后，请选中安装文件后，使用右键菜单的“管理员身份运行”否则可能会安装失败</span>  
            </p>
            <el-button  type="warning" @click="DownloadFile2()" style="margin-top:40px;">下载客户端安装包</el-button>
          </div>
        </div>
        </el-col> -->
        <el-col :xs="24" :sm="24" :lg="24" :xl="24">
        <div class="parameType" style="width:800px">
          <div class="title">下载熊猫出海AI大使</div>
          <div class="content">
            <p style="height:180px;">如果您在需要加速终端不知道如何设置参数，建议您下载加速工具后到需要加速的终端运行启动加速。该工具为纯绿色软件，运行后对系统没有任何影响。如果下载或者运行过程中有杀毒引擎提示异常，请放行或添加到信任。本软件对您的系统没有任何影响。
              <span style="color:red;display:block;">下载后请使用管理员身份运行，否则可能无效。</span>  
            </p>
            <el-button type="warning" @click="DownloadFile1()">下载熊猫出海AI大使</el-button> <!-- （运行格式） -->
          </div>
        </div>
        </el-col>

      </div>
    </el-row>
  </div>
</template>

<script>
import { connrequest, downloadfile, downloadfile_notoken, uploadfile } from '@/api/firstPage'
import { getToken } from '@/utils/auth' // get token from cookie
export default {
  data() {
    return {

    }
  },
  //生命周期 - 创建完成（访问当前this实例）
  created() {},
  //生命周期 - 挂载完成（访问DOM元素）
  mounted() {},
  methods: {
    restartTheDevice(){
      if(sessionStorage.getItem('username') === '游客'){
        this.$message.info('很抱歉，您的角色没有权限下载资料。如果需要下载，请联系管理员获取相应权限。')
        return false
      }
      this.$confirm('设备重启将导致域名加速功能短时间失效, 是否继续?', '提示', {
        confirmButtonText: '确定',
        cancelButtonText: '取消',
        type: 'warning'
      }).then(async() => {
        const data = {
          Data:{
            Action: 'Reboot'
          }
        }
        const res = await connrequest('ExecDeviceMaint', data)
        if(res.Status.StatusCode === 0) {
          this.$message.success('设备已经重启')
          this.$store.dispatch('user/resetToken').then(() => {
            location.reload()
          })
        }
      }).catch(() => {
        this.$message({
          type: 'info',
          message: '已取消'
        });          
      });
    },
    clickfile(){
      if(sessionStorage.getItem('username') === '游客'){
        this.$message.info('很抱歉，您的角色没有权限下载资料。如果需要下载，请联系管理员获取相应权限。')
        return false
      }
      this.$refs.upfile.click()
    },
    async DownloadFile1(){
      const data = {
        Data:{
          FileName: '熊猫出海AI大使网络加速助手.rar'
        }
      }
      const res = await downloadfile('DownloadPublicFile', data)
      let blobUrl = window.URL.createObjectURL(new Blob([res]));
      const a = document.createElement('a');
      a.style.display = 'none';
      a.download = '熊猫出海AI大使网络加速助手.rar';
      a.href = blobUrl;
      a.click();
    },
    async DownloadFile2(){
      const data = {
        Data:{
          FileName: 'SecClientAI.exe'
        }
      }
      const res = await downloadfile('DownloadPublicFile', data)
      let blobUrl = window.URL.createObjectURL(new Blob([res]));
      const a = document.createElement('a');
      a.style.display = 'none';
      a.download = 'SecClientAI.exe';
      a.href = blobUrl;
      a.click();
    },
    async DownloadFile4(){
      if(sessionStorage.getItem('username') === '游客'){
        this.$message.info('很抱歉，您的角色没有权限下载资料。如果需要下载，请联系管理员获取相应权限。')
        return false
      }
      const data = {
        Data:{
          FileName: 'SecClientAI_Amazon.exe'
        }
      }
      const res = await downloadfile('DownloadPublicFile', data)
      let blobUrl = window.URL.createObjectURL(new Blob([res]));
      const a = document.createElement('a');
      a.style.display = 'none';
      a.download = 'SecClientAI_Amazon.exe';
      a.href = blobUrl;
      a.click();
    },
    async DownloadFile3(){
      if(sessionStorage.getItem('username') === '游客'){
        this.$message.info('很抱歉，您的角色没有权限下载资料。如果需要下载，请联系管理员获取相应权限。')
        return false
      }
      const data = {
        Data:{
          FileName: '亚马逊商城助手.rar'
        }
      }
      const res = await downloadfile('DownloadPublicFile', data)
      let blobUrl = window.URL.createObjectURL(new Blob([res]));
      const a = document.createElement('a');
      a.style.display = 'none';
      a.download = '亚马逊商城助手.rar';
      a.href = blobUrl;
      a.click();
    },
    async changefile(e){
      if(sessionStorage.getItem('username') === '游客'){
        this.$message.info('很抱歉，您的角色没有权限下载资料。如果需要下载，请联系管理员获取相应权限。')
        return false
      }
      let formData = new FormData();
      formData.append('CmdCode', "Upgrade");
      formData.append('FileName', "event_to_rule");
      formData.append('file', e.target.files[0]);
      formData.append('Token', getToken());
      const res = await uploadfile('Upgrade',formData)
      if(res.Status.StatusCode === 0) {
        this.$refs.upfile.value = ''
        const confirmText = [`软件升级成功，新升级功能需要重启设备才能生效。`,`您需要立刻重启设备吗？(设备重启将导致导致域名加速功能短时间失效)`]
        const newDatas = []
          const h = this.$createElement
          for (const i in confirmText) {
            newDatas.push(h('p', null, confirmText[i]))
          }
        this.$confirm('提示', {
          message: h('div', null, newDatas),
          confirmButtonText: '重启设备',
          cancelButtonText: '取消',
          type: 'warning'
        }).then(async () => {
          const data = {
            Data:{
              Action: 'Reboot'
            }
          }
          await connrequest('ExecDeviceMaint', data)
          this.$store.dispatch('user/resetToken').then(() => {
            location.reload()
          })
        })
      }
    }
  },
}
</script>
<style lang="scss" scoped>
/* @import url(); 引入css类 */
.wrap{
  display: flex;
  flex-wrap: wrap;
}
.content{
  margin-top: 30px;
  margin-bottom: 10px;
  display: flex;
  align-items: flex-end;
  flex-wrap: wrap;
  justify-content: flex-end;
  .el-button{
    padding: 10px 20px;
  }
  div{
    display: flex;
    flex-direction: column;
    align-items: flex-end;
    justify-content:center;
    .el-button{
      margin-bottom: 10px;
      margin-left: 0px;
    }
  }
  svg{
    font-size: 40px;
  }
  p{
    width: 100%;
    height: 130px;
    line-height: 30px;
    padding: 0 20px;
    font-size: 14px;
  }
}

</style>
